The present invention generally relates to data communications and, more specifically, to a method and system for recovering and aligning data transmissions over a synchronous bus.
In electronic equipment, various internal components communicate and exchange information and data with each other. Such communications are usually conducted over a media, such as a backplane, traces, wires or cables. A transmitter or source of traffic, for example, a card transmitting data on a 32-bit wide synchronous bus and a SOC (start-of-cell) signal onto a media, transmits data toward a receiver which is located at the other end of the media. The electrical signals going across the media are generally routed in groups, where each group of signals/bits is length-matched. This means that the propagation latency of traversing the media is the same for all signals/bits within the same group; however, different groups may have different latencies even though the different groups are sent from the transmitter at the same time. Different groups may arrive at the receiver in different times due to delta in media length or different delays across the media. As a result, different groups may be phase-misaligned or skewed.
For example, assume that there are eight (8) groups of four (4) bits each, a source-synchronous clock signal (“CLK”) and an additional SOC signal, all of which form a wide synchronous bus. All thirty-two (32) bits (plus the SOC signal) of the bus are fully synchronous and aligned as they exit the transmitter. However, due to the latency mentioned above, not all eight (8) groups (32 bits) may arrive at the receiver at the same time.
Data is only meaningful if the original thirty-two (32) bits can be identified and assembled. In other words, all eight (8) groups need to be de-skewed at the receiver in order to recover the original thirty-two (32) bits. To capture the original thirty-two (32) bits at the receiver, the CLK can be used. Using the CLK, however, would result in poor performance. That is because the CLK would have to run at low frequency to ensure setup/hold times are not violated in the presence of various delays of the different groups across the media.
Hence, it would be desirable to provide a method and system that is capable of resolving the foregoing problem, as well as others, by recovering and aligning data transmissions over a synchronous bus in an efficient manner.